package com.haiyou.common.util.check;

import com.haiyou.common.constants.ErrCode;
import com.haiyou.common.exception.ServiceException;
import com.haiyou.common.util.string.StringFormatUitls;

/**
 * 
 * @Description: 自定义处理
 * @author xingyuan
 * @date 2022年11月11日 下午6:17:36
 */
public class Assert {
	
	/**
	 * 检测是否正确 
	 * @param expression
	 * @param errCode
	 * @param message
	 */
	public static void isTrue(boolean expression,int errCode, String message) {
		if(!expression) {
			throw ServiceException.builder().errorCode(errCode).message(message).build();
		}
	}

	/**
	 * 检测是否正确
	 * @param expression
	 * @param errCode
	 */
	public static void isTrue(boolean expression,int errCode) {
		isTrue(expression, errCode, "");
	}
	
	/**
	 * 检测是否正确
	 * @param expression
	 * @param errCode
	 * @param format 格式同log.info("{}",value1);
	 * @param arguments value1.value2
	 */
	public static void isTrue(boolean expression,int errCode,String format,Object... arguments) {
		isTrue(expression, errCode, StringFormatUitls.format(format, arguments));
	}
	
	public static void isTrue(boolean expression,String format,Object... arguments) {
		isTrue(expression, ErrCode.ERROR_PARAMETER, StringFormatUitls.format(format, arguments));
	}
	
	
}
